The use of machine read encoded information systems is prevalent in all aspects of our market dominated society. We find encoded data on products of industry, documents and living beings. The information encoded can be identification, demographics or machine functions and is carried by magnetic tapes or stripes, optical disks or cards, or printed labels. There is a demand to store greater amounts of information using a machine read encoded information system.
One common form of encoding information is by bar code. The bar code is a pattern of bars of various widths distanced apart from each other by varying widths of spaces. The bar and space have different light reflective properties thereby allowing a binary code to be digitally encoded. A typical binary bar code is eight spaces in size which allows encoding two choices (bar or no bar) in eight spaces arranged successively. This yields an 8 bit number or 256 choices to encode information in 1 byte. Bar codes have been modified and improved on in many ways but still lack an adequate data packing density to meet industry needs.
A one-dimensional code is read only linearly. The one-dimensional bar code format allows a machine read encoded information system to access a database using the code it has read. The database holds the information that is sought. Reading a one-dimensional bar code only allows for further processing in some database. A two-dimensional code is read vertically and horizontally. This allows for greater packing density within a bar code sequence and therefore can contain the information that is to be accessed without further processing.
A common method for achieving a two-dimensional code is by stacking a bar code in rows and columns. This however can lead to the loss of vertical synchronization. The loss of vertical synchronization is overcome by using row and column identifiers but at an obvious reduction in information density.
One approach for achieving great packing density while maintaining a simple syntax and overcoming any loss in vertical synchronization would be the use of colors for encoding.